if d.Get("force_destroy").(bool) {
	zone := d.Get("name").(string)
	token := ""
	for paginate := true; paginate; {
		var resp *dns.ResourceRecordSetsListResponse
		if token == "" {
			resp, err = config.NewDnsClient(userAgent).ResourceRecordSets.List(project, zone).Do()
			if err != nil {
				return fmt.Errorf("Error reading ResourceRecordSets: %s", err)
			}
		} else {
			resp, err = config.NewDnsClient(userAgent).ResourceRecordSets.List(project, zone).PageToken(token).Do()
			if err != nil {
				return fmt.Errorf("Error reading ResourceRecordSets: %s", err)
			}
		}

		for _, rr := range resp.Rrsets {
			// Build the change
			chg := &dns.Change{
				Deletions: []*dns.ResourceRecordSet{
					{
						Name:    rr.Name,
						Type:    rr.Type,
						Ttl:     rr.Ttl,
						Rrdatas: rr.Rrdatas,
					},
				},
			}

			if rr.Type == "NS" {
				mz, err := config.NewDnsClient(userAgent).ManagedZones.Get(project, zone).Do()
				if err != nil {
					return fmt.Errorf("Error retrieving managed zone %q from %q: %s", zone, project, err)
				}
				domain := mz.DnsName

				if domain == rr.Name {
					log.Println("[DEBUG] NS records can't be deleted due to API restrictions, so they're being left in place. See https://www.terraform.io/docs/providers/google/r/dns_record_set.html for more information.")
					continue
				}
			}

			if rr.Type == "SOA" {
				log.Println("[DEBUG] SOA records can't be deleted due to API restrictions, so they're being left in place.")
				continue
			}

			log.Printf("[DEBUG] DNS Record delete request via MZ: %#v", chg)
			chg, err = config.NewDnsClient(userAgent).Changes.Create(project, zone, chg).Do()
			if err != nil {
				return fmt.Errorf("Unable to delete ResourceRecordSets: %s", err)
			}

			w := &DnsChangeWaiter{
				Service:     config.NewDnsClient(userAgent),
				Change:      chg,
				Project:     project,
				ManagedZone: zone,
			}
			_, err = w.Conf().WaitForState()
			if err != nil {
				return fmt.Errorf("Error waiting for Google DNS change: %s", err)
			}
		}

		token = resp.NextPageToken
		paginate = token != ""
	}
}